home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / Sample Code / Snippets / Networking / TCP / TCP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-15  |  3.0 KB  |  66 lines  |  [TEXT/MPS ]

  1. /*
  2. ********************************************************** TCPSample.h
  3. */
  4.  
  5. #ifdef _STORAGE_
  6.     #define global
  7. #else
  8.     #define global    extern
  9. #endif
  10.  
  11.  
  12. /*
  13. ********************************************************** Constants
  14. */
  15.  
  16. #define cReceivePort        1984        /* port number to listen for remote connection attempts with */
  17. #define cSendPort            4891        /* port number for sending to remote connection with */
  18. #define    cAnyIP                0            /* driver will return real IP if this IP address is used */
  19. #define    cAnyPort            0            /* driver will allocate a free port number if this port number is used */
  20.  
  21.  
  22.  
  23. /*
  24. ********************************************************** Data Structures
  25. */
  26.  
  27. #define    WDS(bufCount) struct {                \
  28.     wdsEntry            block[bufCount];    \
  29.     unsigned short        zero;                \
  30. }
  31.  
  32. #define    RDS(bufCount) struct {                \
  33.     rdsEntry            block[bufCount];    \
  34.     unsigned short        zero;                \
  35. }
  36.  
  37.  
  38. /*
  39. ********************************************************** Globals
  40. */
  41.  
  42. global    short        gIPPDriverRefNum;        /* driver reference number for PBControl interface */
  43.     
  44.  
  45. /*
  46. ********************************************************** PBControl Interface Prototypes
  47. */
  48.  
  49. OSErr _TCPInit            (void);
  50. OSErr _TCPGetIP            (struct IPParamBlock *pb, ip_addr *ip, long *netMask, ProcPtr ioCompletion, Boolean async);
  51. OSErr _TCPCreate        (TCPiopb *pb, StreamPtr *stream, Ptr rcvBufPtr, long rcvBufLen, TCPNotifyProc aNotifyProc, Ptr userDataPtr, TCPIOCompletionProc ioCompletion, Boolean async);
  52. OSErr _TCPPassiveOpen    (TCPiopb *pb, StreamPtr stream, ip_addr *remoteIP, tcp_port *remotePort, ip_addr *localIP, tcp_port *localPort, Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
  53. OSErr _TCPActiveOpen    (TCPiopb *pb, StreamPtr stream, ip_addr remoteIP, tcp_port remotePort, ip_addr *localIP, tcp_port *localPort, Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
  54. OSErr _TCPSend            (TCPiopb *pb, StreamPtr stream, wdsEntry *wdsPtr, Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
  55. OSErr _TCPNoCopyRcv        (TCPiopb *pb, StreamPtr stream, rdsEntry *rdsPtr, unsigned short rdsLength, Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
  56. OSErr _TCPRcv            (TCPiopb *pb, StreamPtr stream, Ptr rcvBufPtr, unsigned short *rcvBufLen, Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
  57. OSErr _TCPBfrReturn        (TCPiopb *pb, StreamPtr stream, Ptr rdsPtr, Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
  58. OSErr _TCPClose            (TCPiopb *pb, StreamPtr stream, Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
  59. OSErr _TCPAbort            (TCPiopb *pb, StreamPtr stream, Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
  60. OSErr _TCPStatus        (TCPiopb *pb, StreamPtr stream, struct TCPStatusPB *status, Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
  61. OSErr _TCPRelease        (TCPiopb *pb, StreamPtr stream, Ptr *rcvBufPtr, long *rcvBufLen, TCPIOCompletionProc ioCompletion, Boolean async);
  62.  
  63. OSErr TCPDotAddress        (char *dotAddress, ip_addr *ipAddress);
  64.  
  65. pascal void ASR            (StreamPtr stream, unsigned short eventCode, Ptr userData, unsigned short terminReason, struct ICMPReport *icmpMsg);
  66.